// $Id$

using System;
using System.Diagnostics;
using Salamanca.DataAccess.Collections;
using Salamanca.DataActivities;
using Northwind.DomainModel.Activities;

namespace Northwind.Activities.OrderCreateNew
{

    public interface IParameters:
        IDataActivityParameters,
        IQuestionFactoryParameters<IQuestionFactory>
    {
    }


    public class Parameters:
        IParameters
    {
        public Parameters(IQuestionFactory factory, DataMapperCollection dataMappers)
        {
            Debug.Assert(factory!=null);
            if (factory==null)
                throw new ArgumentNullException("factory");
            Debug.Assert(dataMappers!=null);
            if (dataMappers==null)
                throw new ArgumentNullException("dataMappers");

            _QuestionFactory=factory;
            _DataMappers=dataMappers;
        }

        public DataMapperCollection DataMappers
        {
            get
            {
                return _DataMappers;
            }
        }

        public IQuestionFactory QuestionFactory
        {
            get
            {
                return _QuestionFactory;
            }
        }

        private DataMapperCollection _DataMappers;
        private IQuestionFactory _QuestionFactory;
    }

}
